package Instrucciones;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Point;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;

/*
 * esta clase me permite poder generar la ventana instrucciones, solamente es un JDialg al cual se le van cargando
 * imagenes cada una cierta cantidad de tiempo, extendera a JDialog para poder hacer uso de sus atributos y metodos...
 */
public class VentanaInstrucciones extends JDialog{

	//agregamos la seriable general...
	private static final long serialVersionUID = 1L;

	//atributos de la clase...
	private ObtencionImagenes Imagenes;//representara a la coleccion de imagenes...
	private JButton boton, boton2;//representa al boton continuar, el boton2 representa al atras...
	private int posicion =0;//me permite poder indicar la posicion en el array...
	JLabel label = new JLabel();//generamos un JLabel...
	
	//constructor de la clase, con el objetivo de poder darle las caracteristicas necesarias a la pantalla
	public VentanaInstrucciones(){
		
		this.Imagenes = new ObtencionImagenes();//instanciamos a la clase...
		this.boton = new JButton();
		this.boton2 = new JButton();
		//setiamos los botones para que quden descentes!!!...
		this.boton.setIcon(new ImageIcon(getClass().getResource("/res/siguiente.jpg")));
		
		this.boton2.setIcon(new ImageIcon(getClass().getResource("/res/siguiente2_principiantess.jpg")));
		this.boton.setBorderPainted(false);
		this.boton2.setBorderPainted(false);
		this.boton.setToolTipText("Continuar");
		this.boton2.setToolTipText("Atras");
		
		
		this.setTitle("Instrucciones");//titulo...
		this.setSize(new Dimension(510,552));//tamano...
		this.setResizable(false);//renderizacion...
		this.setLocation(new Point(200,100));//localizacion..
		this.setVisible(true);//visibilidad...
		this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		
		
		this.PosicionSur();
		this.CargaImagen(0);
		this.pack();
		
		//this.setSize(new Dimension(510,552));//tamano...
	}
	
	//metodo que me permite poder agregar el boton siguiente en la ventana en posicion sur...
	public void PosicionSur(){
		
		JPanel panel = new JPanel();//instanciamos un panel para poder contener los botones...
		
		panel.setLayout(new GridLayout(1,4,5,5));//modificamos su layout....
		
		//empezamos a agregarle cosas...
			
		panel.add(new JPanel());//en este caso agregamos un panel vacio...
		this.boton2.setEnabled(false);
		panel.add(boton2);
		panel.add(boton);
		panel.add(new JPanel());//en este caso agregamos un panel vacio...
		
		//finalmente agregamos el panel a la pantalla en la posicion sur...
		this.getContentPane().add(BorderLayout.SOUTH, panel);
	}
	
	//metodo que me permite poder cargar una imagen a la ventana en la posicion central...
	public void CargaImagen(int posicion){
		
//		label.setIcon(new ImageIcon(this.Imagenes.getImagenes().get(posicion)));//setiamos la imagen que esta en la posicion dada
		label.setIcon(new ImageIcon(getClass().getResource((this.Imagenes.getImagenes().get(posicion)))));//setiamos la imagen que esta en la posicion dada

		//agregamos la imagen a la ventana...
		this.getContentPane().add(BorderLayout.CENTER,label);
	}

	//getters para poder acceder a los estados de la clase desde otra...
	public ObtencionImagenes getImagenes() {
		return Imagenes;
	}

	public JButton getBoton() {
		return boton;
	}

	public JButton getBoton2() {
		return boton2;
	}

	public int getPosicion() {
		return posicion;
	}

	//setter que me permite poder modificar el valor de la posicion...
	public void setPosicion(int posicion) {
		this.posicion = posicion;
	}
}